#pragma once 
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <assert.h>
#include <stdlib.h>

#define BUFFER_SIZE 1024

//默认刷新方式
typedef enum flash_mode
{
    SYNC_NOW = 1,
    SYNC_LINE = 2,
    SYNC_FULL = 4

}flash_mode;


typedef struct FILE_
{
    flash_mode _flags;//刷新方式
    int _fileno;
    size_t _size;//buffer当前大小
    char _buffer[BUFFER_SIZE];
}FILE_;

FILE_* fopen_(const char* file_name, const char* mode);
void fwrite_(const void* ptr, size_t size, FILE_* fp);
void fflush_(FILE_* fp);
void fclose_(FILE_* fd);

